Renaming the WASI target in Rust 1.71.0#1099
Conversation
5869401 to
6a0a147
Compare
6a0a147 to
95dbfe1
Compare
|
Updated with feedback from review. I need to ping some of the WASI folks to give this another read over, and then update the date - but otherwise I think this should be good to go! |
|
Checked with the WASI folks, who have signed off on it. Set the date for Monday 2023-05-01. This should be ready to be merged tomorrow! |
|
@yoshuawuyts would you be up for perhaps adapting this post for the new schedule? |
| author: Yoshua Wuyts | ||
| --- | ||
| In Rust 1.71 the existing `wasm32-wasi` target will be renamed | ||
| to `wasm32-wasi-preview1`. This matches the naming introduced in the [WASI |
There was a problem hiding this comment.
| to `wasm32-wasi-preview1`. This matches the naming introduced in the [WASI | |
| to `wasm32-wasip1`. This matches the naming introduced in the [WASI |
|
|
||
| Work on adding a WASI Preview 2 target to the compiler is currently underway, | ||
| but is not yet complete. We expect this to land in a future release of Rust. The | ||
| target triple for this target will be `wasm32-wasi-preview2`. |
There was a problem hiding this comment.
| target triple for this target will be `wasm32-wasi-preview2`. | |
| target triple for this target will be `wasm32-wasip2`. |
| $ rustup +nightly target add wasm32-wasi-preview1 | ||
| $ cargo build --target wasm32-wasi-preview1 |
There was a problem hiding this comment.
| $ rustup +nightly target add wasm32-wasi-preview1 | |
| $ cargo build --target wasm32-wasi-preview1 | |
| $ rustup +nightly target add wasm32-wasip1 | |
| $ cargo build --target wasm32-wasip1 |
| language toolchains such as [Golang] and [Node.js]. It is expected that | ||
| eventually WASI will eventually stabilize far enough that it will reach a 1.0 | ||
| status. By freeing up the `wasm32-wasi` target name now, it enables us to | ||
| reintroduce it in the future as the target name for an eventual 1.0 stable WASI |
There was a problem hiding this comment.
I hesitate to use the term stable here since these targets are also stable they just hint that they will be superseded by a future release. Perhaps instead of call the eventual 1.0 release "stable" we can say something akin to:
By freeing up the
wasm32-wasitarget name now, it enables us to
reintroduce it in the future as the target name for an eventual 1.0 WASI release where evolution of WASI is expected to slow considerably in pace. All wasi targets are in and of themselves stable, but it's important to note that future wasi releases are expected to supersede previous versions which will not receive feature updates.
| reality is that most of the development of WASI in recent years has centered | ||
| around WASI Preview 2 and [Wasm Components][components]. The expectation is that | ||
| Preview 2 will eventually supplant Preview 1, and support across the WASI | ||
| ecosystem will gradually wind down for Preview 1. By adopting “preview” in the |
There was a problem hiding this comment.
By adopting “preview” in the target names
Note: "preview" isn't actually used in the target names just "p" which stands for preview.
|
Superseded by #1302. Thanks everyone! |
As requested by @wesleywiser in rust-lang/rust#110596 (comment), this is a public notice that the
wasm32-wasitarget will be renamed towasm32-wasi-preview1starting in Rust 1.71.0 (accepted MCP). Thanks!